import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
//引入element-plus样式插件
import ElementPlus from 'unplugin-element-plus/vite';
//引入svg依赖插件
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import path from 'path';
//vite的mock插件
import {viteMockServe} from 'vite-plugin-mock';


export default defineConfig(({command, mode})=>{
  let env = loadEnv(mode,process.cwd());  //获取开发环境
  return {
      plugins: [
        vue(),
        ElementPlus(),
        createSvgIconsPlugin({
          // 需要自动导入的 svg 文件目录（可自行修改）src/assets/icons/svg
          iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
          // 执行icon name的格式（可自行修改）
          symbolId: "icon-[dir]-[name]",
          // 更多配置请参考：https://github.com/vbenjs/vite-plugin-svg-icons/blob/HEAD/README.zh_CN.md
        }),
        viteMockServe({
          mockPath:"./mock",
          // localEnabled:true,
          localEnabled:command === 'serve',  //保证开发阶段可以使用mock接口
        }),
      ],
      resolve:{
        alias:{
          "@": path.resolve("./src"),  //相对路径别名配置
        }
      },
      //scss全局变量配置
      css:{
        preprocessorOptions:{
          scss:{
            javascriptEnabled:true,
            additionalData: '@import "./src/style/variable.scss";',
          }
        }
      },
      //代理跨域
      server:{
        proxy:{
          [env.VITE_APP_BASE_API]:{
            target:env.VITE_SERVE,  //地址服务器
            changeOrigin:true,  //代理跨域
            rewrite:(path) => path.replace(/^\/api/,'')  //路径重写
          }
        }
      }
  }
})
